Bar code readers employing light transmitting and light sensitive devices for reading bar codes have become well known. These devices are typically constructed to store information relating to the bar codes that have been read and, at a later time, to download the stored information to an external computer for processing. As one example, portable bar code readers have been used by department and grocery stores to inventory products on the shelf. In this example, stationery bar code readers have been located at the checkout stand for reading the bar codes of products as they are purchased. The stationery bar code readers are permanently coupled to a bar code computer system that maintains the inventory information. Portable bar code readers are used by store clerks to record the number of items on the shelves by reading the bar codes. The portable bar code readers include data ports, or other similar connectors, for enabling the portable bar code readers to be coupled to the bar code computer system for transferring the stored information to the bar code computer system. Other examples of uses for portable bar code readers are for packaged delivery tracking, file management and storage, etc.
Recently, it has become desirable to provide portable bar code readers that include the bar code computer system so that the portable bar code reader is capable of performing data analysis in addition to data storage. Such a system has been shown and described in U.S. patent application Ser. No. 07/978,938, filed Nov. 17, 1992, for METHOD AND COMPUTER SYSTEM FOR DATA ENTRY OF BAR CODE SYMBOLS, by Paul A. Bolme et al. ("the Bolme et al. patent"), the disclosure of which is incorporated herein, in its entirety, by the foregoing reference thereto. The advantage of constructing a portable bar code reader with a self-contained bar code system is that a user is permitted to perform analysis on the data as it is collected, thereby improving the overall efficiency of the user's data tracking process. As described in the Bolme et al. patent, the bar code computer system contained in the portable bar code reader is constructed to run a standard DOS operating system. The advantage of having a DOS-based computer system is that the portable bar code reader can be used to run commercially available data processing programs that are constructed for the DOS operating system. Examples of such programs include Microsoft Access, Lotus 1-2-3, D-Base, etc.
As a further improvement to this system, it is desirable to provide a method for altering the meaning attributed to the keys of the portable bar code reader keyboard. Such capability would permit differing users of the same portable bar code reader to provide custom keyboard formats, i.e., custom definitions of the keys, thereby to improve the personal efficiency of the various users. However, prior art operating systems, including the DOS operating system discussed above, and the protocols for interfacing a keyboard with those systems, do not provide sufficient flexibility to enable significant reassignment of key meaning in a manner that is fully compatible with the hardware. Accordingly, it is desirable to provide a keyboard and method of interfacing the keyboard with standard operating systems to enable a user to provide custom keyboard formats by reassigning the meanings of the keys of the keyboard.
Furthermore, it is desirable to provide a plurality of keyboards for use with a single portable bar code reader, to improve the efficiency of use when the meaning of the keys are reassigned. In such a system, each user has a personal keyboard for use with the portable bar code reader. The keys of the personal keyboard are marked to identify the meanings attributed to those keys when the keyboard is used with the portable bar code reader. However, as discussed above, commonly available operating systems, and their protocols for interfacing a keyboard with the operating system, do not permit substantial reassignment of the meanings of the keys. Conversely, prior art operating systems and the protocols for interfacing a keyboard with those operating systems require substantially similar meanings be attributed to the keys of the various keyboards. Accordingly, it is desirable to provide a portable bar code reader for operation with a commonly available operating system wherein a variety of keyboards can be used with the bar code reader and wherein the meanings of the keys of the variety of keyboards can be easily reassigned.